package com.cloud.api.domain.command;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cloud.api.validgroup.ValidateGroupInsert;
import com.cloud.api.validgroup.ValidateGroupUpdate;
import com.cloud.core.entity.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author haohaibo
 * @since 2023-11-29
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(name = "CommandBatch", description = "")
public class CommandBatch extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @NotNull(message = "{validation.command.modelId}")
    @Size(min = 1, message = "{validation.command.modelIdSize}")
    private List<String> modelId;

    @Schema(description = "下发命令")
    @NotEmpty(message = "{validation.command.commandCode}")
    private String commandCode;

    @Schema(description = "指令名称，字典功能代码名称")
    @NotEmpty(message = "{validation.command.commandName}")
    private String commandName;

    @Schema(description = "指令类型：手机、后台")
    @NotEmpty(message = "{validation.command.type}")
    private String type;

    @Schema(description = "功能代码：字典的数字")
    @NotNull(message = "{validation.command.functionCode}")
    private Integer functionCode;

    @Schema(description = "控车项")
    @NotNull(message = "{validation.command.controlGroup}")
    private String controlGroup;

    @Schema(description = "控车项明名称")
    @NotNull(message = "{validation.command.controlGroup}")
    private String groupName;
}
